/*----------------------------------------------------------------------------------------
*
*  Copyright 2019, Gao Hai Hui, <fromzeropoint@126.com>.  All rights reserved.
*  https://gitee.com/helloworldghh/xoskit.git
*  Use of this source code is governed by a MIT license
*  that can be found in the License file.
*
----------------------------------------------------------------------------------------*/
#include "../import/head.h"
#include "../data_struct/head.h"
#include "../macro/head.h"
#include "../impl/head.h"
#include "id_impl.h"

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 

namespace xos_common
{
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 

    static id_impl::ITEM_DATA xos_item_data;

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //

	id_impl::id_impl()
	{
	}

	id_impl::~id_impl()
	{
	}

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// 

    int id_impl::get_xos_item_data( ITEM_DATA*& item_ptr )
    {
		int ret = 0;
		xos_item_data.set_container( mgr::container() );
		item_ptr = &xos_item_data;
		return ret;
    }

	int id_impl::release()
	{
		int nRet = 0;
		term();
		put_back_to_pool();
		return nRet;
	}

	int id_impl::init()
	{
		int ret = 0;

		if( 0 == ret )
		{
			SET_ITEM::_xos_stl_set_opt_init();
		}

		return ret;
	}

	int id_impl::term()
	{
		int ret = 0;

		if( 0 == ret )
		{
			SET_ITEM::_xos_stl_set_opt_term();
		}

		return ret;
	}

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// 

	

}
